Balancing the loads of server is a technique that re-directs flows of visits to several back-end servers to evenly distribute the visits to the servers. In this process, it is important to monitor the health of the servers. A load-balancing device needs to know whether a server is in good condition before it can re-direct visits to that server. Thus, a load-balancing device constantly monitors the health of the servers. A back-end server can be subject to multiple checkups to determine its health. For example, a number of consecutive checks that confirms an abnormal back-end server is now in a normal operation state that exceeds a predetermined threshold value can indicate a server is in a healthy condition. The server can be determined to have returned to a normal state and able to receive re-directed flows of visits. Similarly, a number of consecutive checks that confirms a normal back-end server is now in an abnormal operation state that exceeds a predetermined threshold value can indicate a server is in an unhealthy condition. The server can be determined to be in the abnormal state and unable to receive re-directed flows of visits.
In the related art, a system generally includes a set of load-balancing devices that re-direct flows of visits to back-end servers. For example, a system includes N numbers of load-balancing devices. Each of the N load-balancing devices performs a checkup on a back-end server in a predetermined time interval. The back-end server thus may be checked N times in a time period. If visiting flows increase, the number of the load-balancing devices needs to be increased, for example, from N numbers to M numbers, where M≥N. As the number of the load-balancing devices increases, so is the number of checkups a back-end server receives in the time period. The flows generated from the checkups inevitably add extra workload for the back-end server. The condition would be worsened if the performance of the back-end server is not sufficient to handle the extra flows. Those checkups would also cause the server to generate extra, trash logs in the server. Therefore, there is a need to reduce health checkups and excessive load on the back-end servers.